package cn.moukou.dictator.dao.relation;

import cn.moukou.dictator.pojo.node.KVNode;
import cn.moukou.dictator.pojo.relation.KVNODE_RELATION;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;

import java.util.List;

public interface KVNODE_RELATION_DAO extends Neo4jRepository<KVNODE_RELATION, Long> {
    @Query("match p=(start:KVNode)-[r:KVNODE_RELATION]->(end:KVNode) where r.relation_type=$type return p")
    List<KVNODE_RELATION> findByType(String type);

    @Query("match p=(start:KVNode)-[r:KVNODE_RELATION]->(end:KVNode) return p order by r.relation_type")
    List<KVNODE_RELATION> customFindAllOrderByType();

    @Query("match p=(start:KVNode)-[r:KVNODE_RELATION]->(end:KVNode) where id(start)=$id return p")
    List<KVNODE_RELATION> customFindByStartId(Long id);
}
